/*
编程找出 1000 以内的所有完数并打印出来。
所谓完数就是一个数恰好等于它的因子之和，如：6=1＋2＋3
*/

public class SecondQuestion
{
    public static void main(String[] args) {
        // 遍历1000个数，因为1没有因子，所以从2开始
        for (int i=2; i<=1000; i++) {
            // 设定求和变量sum初始值为0
            int sum = 0; 
            // 因子小于完数本身且不能等于完数
            for (int j=1; j < i; j++) {
                // 只有能被完数整除的数才是因子
                if (0 == i%j) {
                    // 因子求和
                    sum += j;
                }
            }
            // 结束一次内循环并判断因子之和是否与该数相等
            // 相等则是完数，打印出来 
            if (sum == i) {
                System.out.println(sum);
            }
        }
        
    }
}